package com.ruoyi.hotel.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.IdType;
import com.ruoyi.common.core.domain.BaseDomain;
import lombok.Data;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 入住记录对象 hotel_check_house_record
 *
 * @author sunye
 * @date 2024-11-15
 */
@Data
public class HotelCheckHouseRecord extends BaseDomain
{
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键ID")
    @TableId(value ="record_id", type = IdType.AUTO)
    private Long recordId;

    @ApiModelProperty(value = "入住订单号（多人同时入住为一个单号）")
    @Excel(name = "入住订单号", readConverterExp = "多=人同时入住为一个单号")
    private String recordNum;

    @ApiModelProperty(value = "房间ID")
    @Excel(name = "房间ID")
    private Long houseId;

    @ApiModelProperty(value = "入住房间价格")
    private BigDecimal housePrice;

    @ApiModelProperty(value = "姓名")
    @Excel(name = "姓名")
    private String realName;

    @ApiModelProperty(value = "身份证号")
    @Excel(name = "身份证号")
    private String idCard;

    @ApiModelProperty(value = "手机号")
    @Excel(name = "手机号")
    private String phone;



    @ApiModelProperty(value = "开房时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "开房时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date openTime;

    @ApiModelProperty(value = "离店时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "离店时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date leaveTime;

    @ApiModelProperty(value = "是否离店（0未离开1已离开）")
    private Integer isLeave;

    @ApiModelProperty(value = "离店操作人Id")
    private Long leaveCreateId;

    @ApiModelProperty(value = "删除标志（0代表存在 2代表删除）")
    private String delFlag;



    @ApiModelProperty(value = "离店操作人")
    @TableField(exist = false)
    private String leaveCreateName;
    @ApiModelProperty(value = "房号")
    @TableField(exist = false)
    private String houseNum;

    @ApiModelProperty(value = "入住开始时间")
    @TableField(exist = false)
    private String beginCreateTime;

    @ApiModelProperty(value = "入住结束时间")
    @TableField(exist = false)
    private String endCreateTime;

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("recordId", getRecordId())
            .append("recordNum", getRecordNum())
            .append("houseId", getHouseId())
            .append("housePrice", getHousePrice())
            .append("realName", getRealName())
            .append("idCard", getIdCard())
            .append("phone", getPhone())
            .append("leaveTime", getLeaveTime())
            .append("leaveCreateId", getLeaveCreateId())
            .append("delFlag", getDelFlag())
            .append("createId", getCreateId())
            .append("updateId", getUpdateId())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
